//
// Created by Yurzi on 2021/3/31.
//

#ifndef CEDUGROUPWORK_FILEOPERATIONS_H
#define CEDUGROUPWORK_FILEOPERATIONS_H

#include "DataTypes.h"
#include <stdio.h>
#include <malloc.h>



void removeFormat(FILE *fp,char *filename);//去格式化文件


void mt_readOne(FILE *fp,Material *temp);//读入一项原材料
void kind_readOne(FILE *fp,Kind *temp);//读入一项类
int tag_readOneMt(FILE *fp,Material *mt);//读入标签里的一个原料
void tag_readOne(FILE *fp,Tag *temp);//读入一个标签
int good_readOneMt(FILE *fp,Material *mt);//读入一个商品里的原料
int good_readOneTag(FILE *fp,Tag *temp);//读入一个商品里标签
void good_readOne(FILE *fp,Good *temp);//读入一个商品


void kind_writeOne(FILE *fp,Kind *temp);//往文件中写入一个类
int save_kindList(FILE *kindFilePtr,Kind *kindList);//往文件中写入类链表
void mt_writeOne(FILE *fp,Material *temp);//往文件中写入一个原料
int save_mtList(FILE *mtFilePtr,Material *mtList);//往文件中写入原料链表
void tag_writeOneMt(FILE *fp,Material *temp);//往文件中写入一个标签的原料对象
void tag_writeOne(FILE *fp,Tag *temp);//往文件中写入一个标签
int save_tagList(FILE *tagFilePtr,Tag *tagList);//往文件中写入标签链表
void good_writeOneMt(FILE *fp,Material *temp);//往文件中写入一个商品的原料对象
void good_writeOneTag(FILE *fp,Tag *temp);//往文件中写入商品中的一个标签
void good_writeOne(FILE *fp,Good *temp);//往文件中写入一个商品
int save_goodList(FILE *goodFilePtr,Good *goodList);//往文件中写入商品链表


int read_logList(FILE *logFilePtr,LogNode** _logList_head,LogNode** _logList_rear);//在文件中读入历史记录链表
int save_logList(FILE *logFilePtr,LogNode *_logList);//在文件中写入历史记录链表

#endif //CEDUGROUPWORK_FILEOPERATIONS_H